package mms.swordsmithcraft.api;

import mms.swordsmithcraft.common.Type;
import net.minecraft.item.ItemStack;

/**
 * 武器的属性接口
 */
public interface SwordAttribute {
    /**
     * 获取武器的属性
     * @return 返回属性
     */
    Type getType();

    /**
     * 获取武器的品质等级
     * @return 品质等级
     */
    int getQuality(ItemStack item);

    /**
     * 获取锻造等级
     * @return 锻造等级
     */
    int getForgingLevel(ItemStack item);

    /**
     * 获取伤害
     * @return
     */
    int getDamage(ItemStack item);

    /**
     * 获取武器的挥刀速度
     * @return 挥刀速度
     */
    float getBladeSpeed(ItemStack item);

    /**
     * 获取武器的收刀速度
     * @return
     */
    float getCloseSpeed(ItemStack item);

    /**
     * 获取武器的蓄力时间
     * @param item 物品
     * @return 蓄力时间
     */
    int getContinuedStrength(ItemStack item);
}
